/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package RMI.Server;

import Common.EstadoCoelho;
import Common.EstadoCenoura;
import java.rmi.Remote;
import java.rmi.RemoteException;

/**
 *
 * @author Rui Deyllot
 */
public interface RemotePrado extends Remote{

    boolean hasSeeds(int x, int y)
            throws RemoteException;

    boolean hasCarrot(int x, int y)
            throws RemoteException;

    int carrotEnergy(int x, int y)
            throws RemoteException;

    boolean canJump(int id_rabbit, int oldX, int oldY, int newX, int newY)
            throws RemoteException;

    boolean canGerminate(int idcarrot, int x, int y)
            throws RemoteException;

    boolean hasPollen(int x, int y)
            throws RemoteException;

    void plantSeed(int x, int y)
            throws RemoteException;

    void informCoelho(int id_rabbit, EstadoCoelho state, int x, int y)
            throws RemoteException;

    void informCenoura(int id_carrot, int energy, EstadoCenoura state, int x, int y)
            throws RemoteException;

    boolean getEndFlag()
            throws RemoteException;
}
